package io;

import java.io.*;
import java.util.Scanner;

/**
 * 简易记事本工具
 * 程序启动后在控制台输入一个文件名，然后对该文件进行写操作。
 * 之后再控制台输入的每行字符串都要按行写入到文件中。
 * 当单独输入exit时，程序退出。  注:exit不要写入文件。
 *
 * 要求:自行创建流连接。
 */
public class NoteDemo {
    public static void main(String[] args) throws FileNotFoundException, UnsupportedEncodingException {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入文件名:");
        String fileName = scanner.nextLine();
        /*
            创建PrintWriter时，如果第一个参数为流，那么就支持再传入一个boolean型参数
            如果指定为true则打开了自动行刷新功能。即:每当调用println方法后就会自动flush
            一次。
         */
        PrintWriter pw = new PrintWriter(
                new BufferedWriter(
                        new OutputStreamWriter(
                                new FileOutputStream(fileName),"UTF-8"
                        )
                ),true
        );
        System.out.println("请开始输入内容，单独输入exit退出.");
        while(true){
            String line = scanner.nextLine();
            if("exit".equals(line)){
                break;
            }
            pw.println(line);
        }
        System.out.println("再见!");
        pw.close();

    }
}
